package com.jrx.anytxn.investor.service;

import com.jrx.anytxn.common.exception.TxnBizException;
import com.jrx.anytxn.common.exception.TxnException;
import com.jrx.anytxn.investor.dto.loan.AmRepaymentPlanInvestorInfoRes;

import java.util.List;

/**
 * 还款计划service接口
 *
 * @author 黄秋平
 * @create 2020/6/18
 */
public interface IRepaymentPlanInvestorInfoService {

    /**
     * 根据以下条件查询资金方还款计划信息
     * @author fan.yang
     * date: 2020/6/23 0023 下午 17:26
     * @param tenantId 租户ID
     * @param customerId 客户ID
     * @param loanId 贷款订单ID
     * @param investorId 资金方ID
     * @return java.util.List<com.jrx.anytxn.investor.dto.loan.AmRepaymentPlanInvestorInfoRes>
     */
    List<AmRepaymentPlanInvestorInfoRes> getRepaymentListByLoanIdAndCusIdAndInveId(String tenantId, String customerId, String loanId, String investorId) throws TxnBizException;

    /**
     * 根据以下条件查询还款计划明细
     * @author fan.yang
     * date: 2020/6/24 0024 上午 9:56
     * @param tenantId 租户ID
     * @param customerId 客户ID
     * @param investorLoanId 出资方贷款订单id
     * @param billingTenor 期数
     * @return com.jrx.anytxn.investor.dto.loan.AmRepaymentPlanInvestorInfoRes
     */
    AmRepaymentPlanInvestorInfoRes getRepaymentInfoByInvesLoanIdAndCusIdAndTenor(String tenantId, String customerId, String investorLoanId, Integer billingTenor) throws TxnException;
}
